/**
 * 用来载入模块
 */


Cofit.moduleSourceCode = {};	//存放初始化各个模块的函数

/**
 * 载入模块默认配置
 */
Cofit.loadConfig={
		base : "./"//载入模块的默认起始目录
};

/**
 * 模块命名空间
 */
Cofit.module={
		
};

/**
 * 载入一个模块
 * @param moduleName 模块名称
 * @param callback 载入成功后执行的方法，模块对象作为参数传入
 */
Cofit.load = function(moduleName,callback){
	
	//如果模块已经被载入
	if(null != Cofit.module[moduleName]){
		callback(Cofit.module[moduleName]);
		return ;
	}
	
	var prevFileName=Cofit.loadConfig.base+moduleName;
	//载入样式
	$("head").append("<link  rel='stylesheet' href='"+prevFileName+".css"+"' />");
	$.get(prevFileName+".html",function(html){
		
		//html部分
		
		var dom=$("<div></div>");
		dom.html(html);
		//html部分必须定义在id=moduleHtml的元素中
		dom=dom.find("#moduleHtml");
		
		//js部分
		var jssrc=""+html.match(/\/\/cofit_module_js[\s\S]*\/\/cofit_module_js/gim);
		jssrc=jssrc.replace(/\/\/cofit_module_js/gim,"");
		//调用js，模块中的代码会把模块的生成方法绑定到Cofit.moduleSourceCode[模块名]
		eval(jssrc);
		//module的生成方法需要一个参数，即#moduleHtml的DOM
		var module=Cofit.moduleSourceCode[moduleName](dom);
		Cofit.module[moduleName]=module;
		callback(module);
	},"html");
};
